/*
 * VoodooLoader.h
 *
 *  Created on: Apr 29, 2009
 *      Author: wrice
 */

#ifndef VOODOOLOADER_H_
#define VOODOOLOADER_H_
#include "MyVideoTrace.h"
namespace MyVideoTrace {

class VoodooLoader {
public:
	VoodooLoader();

	bool loadCameraData( string filename );
	FrameNumber getNumberOfCameraInfo() const;
	VoodooCameraInfo getCameraInfo( FrameNumber frameNumber ) const;

	bool loadFeaturePoints( string prefix, int startNum, int endNum, string postFix, int step );
	size_t getNumberOfFeaturePoints() const;
	FeaturePoint getFeaturePoint( size_t idx ) const;

private:
	typedef vector< VoodooCameraInfo > CameraInfos;
	CameraInfos cameraInfos_;

	typedef map< int, FeaturePointPtr > FeaturePoints;
	typedef pair< int, FeaturePointPtr > FeaturePointsPair;
	typedef FeaturePoints::const_iterator FeaturePointsIterator;
	typedef FeaturePoints::iterator FeaturePointsModifiableIterator;
	FeaturePoints featurePoints_;

public:	virtual ~VoodooLoader() {}
};

}

#endif /* VOODOOLOADER_H_ */
